# ifndef CONEXION_H_
# define CONEXION_H_

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <iostream>
#include <sstream>
#include <unistd.h>
#include <lber.h>
#include <ldap.h>
#include <sys/time.h>
#include "../Estructuras/Thread.h"
#include "../Encolables/Encolable.h"
#include <queue>

using namespace std;

#define LD_NO_INICIALIZADO 10
#define NO_HAY_SESION 11


class Conexion: public Thread{

protected:

	int id;

	queue<Encolable*> tareas;

	char* host;

	int port;

public:

	Conexion(int id, char* host, int port);

	void run();

	queue<Encolable*> getTareas();

	virtual void insertar(Encolable* actual) = 0;

	virtual void modificar(Encolable* actual) = 0;

	virtual void eliminar(Encolable* actual) = 0;

	int getId();

	void setHost(char* nuevoHost);

	void setPort(int nuevoPort);

};


#endif
